//-----------------------------------------------------------------------------
//
// Title       : arbitre_tb
// Design      : ACA2008
// Author      : KUI LI
// Company     : home
//
//-----------------------------------------------------------------------------
//
// File        : arbitre_TB.v
// Generated   : Sun Jun 29 06:12:51 2008
// From        : c:\My_Designs\aca2008\ACA2008\src\TestBench\arbitre_TB_settings.txt
// By          : tb_verilog.pl ver. ver 1.2s
//
//-----------------------------------------------------------------------------
//
// Description : 
//
//-----------------------------------------------------------------------------

`timescale 1ps / 1ps
module arbitre_tb;


//Internal signals declarations:
reg clk;
reg reset;
reg FeAr_Req;
reg CaAr_Req;
reg WBAr_Req;
reg HDAr_Req;
wire ArFe_Gnt;
wire ArCa_Gnt;
wire ArWB_Gnt;
wire ArHD_Gnt;
wire Gnt;

 

// Unit Under Test port map
	arbitre UUT (
		.clk(clk),
		.reset(reset),
		.FeAr_Req(FeAr_Req),
		.CaAr_Req(CaAr_Req),
		.WBAr_Req(WBAr_Req),
		.HDAr_Req(HDAr_Req),
		.ArFe_Gnt(ArFe_Gnt),
		.ArCa_Gnt(ArCa_Gnt),
		.ArWB_Gnt(ArWB_Gnt),
		.ArHD_Gnt(ArHD_Gnt),
		.Gnt(Gnt));

initial begin
  $monitor($realtime,,"ps %h %h %h %h %h %h %h %h %h %h %h ",clk,reset,FeAr_Req,CaAr_Req,WBAr_Req,HDAr_Req,ArFe_Gnt,ArCa_Gnt,ArWB_Gnt,ArHD_Gnt,Gnt);
  clk = 0;
  reset = 0;
  FeAr_Req = 0;
  CaAr_Req = 0;
  WBAr_Req = 0;
  HDAr_Req = 0;
  #5 reset = 1;
  #15 reset = 0;
  #10 FeAr_Req = 1;
  #10 FeAr_Req = 0;
  #10 CaAr_Req = 1;
  #10 CaAr_Req = 0;
  #15 HDAr_Req = 1;
  #5  HDAr_Req = 0;
  #5  WBAr_Req = 1;
  #5  WBAr_Req = 0;
  #10 {FeAr_Req,CaAr_Req,WBAr_Req,HDAr_Req} = 4'b0011;
  #10 {FeAr_Req,CaAr_Req,WBAr_Req,HDAr_Req} = 4'b1001;
  #10 {FeAr_Req,CaAr_Req,WBAr_Req,HDAr_Req} = 4'b1101;
  #10 $finish;
end

always begin
 #5 clk = !clk;
end
endmodule
